Yes, you can compose iterators by wrapping them. map and filter return new iterators that lazily transform or filter values from the source iterator.
map
filter